package com.thz.system.service.gif;

import com.thz.common.dto.gif.ConversionVideoToGifResponseDTO;

/**
 * 转换任务缓存服务接口
 * 
 * @author THZ
 * @date 2025
 */
public interface IConversionCacheService {
    
    /**
     * 缓存转换任务状态
     * 
     * @param taskId 任务ID
     * @param response 转换响应数据
     * @param ttlSeconds 缓存过期时间（秒）
     */
    void cacheConversionStatus(Long taskId, ConversionVideoToGifResponseDTO response, long ttlSeconds);
    
    /**
     * 获取缓存的转换任务状态
     * 
     * @param taskId 任务ID
     * @return 转换响应数据，不存在则返回null
     */
    ConversionVideoToGifResponseDTO getCachedConversionStatus(Long taskId);
    
    /**
     * 删除缓存的转换任务状态
     * 
     * @param taskId 任务ID
     */
    void removeCachedConversionStatus(Long taskId);
    
    /**
     * 更新转换任务状态
     * 
     * @param taskId 任务ID
     * @param response 转换响应数据
     */
    void updateConversionStatus(Long taskId, ConversionVideoToGifResponseDTO response);
}

